Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Salzburg Challenger Troyes Challenger Nordea Open - Bastad M25 Dallas Plava Laguna Croatia Open - Umag Mallorca Challenger Salinas Challenger Istanbul Challenger Chengdu Open - Chengdu Shenzhen 1 Challenger Guangzhou Challenger Davis Cup, Group I, 1R, BIH-GER 0-4 Astana Open - Astana ATP Kremlin Cup - Moscow St. Petersburg Open - St. Petersburg Bratislava 2 Challenger Shanghai Rolex Masters - Shanghai ATP Kremlin Cup - Moscow St. Petersburg Open - St. Petersburg Interwetten Austrian Open - Kitzbuhel Kremlin Cup - Moscow St. Petersburg Open - St. Petersburg Stockholm Open - Stockholm Serbia Open - Belgrade Shenzhen 2 Challenger Erste Bank Open - Vienna Bergamo Challenger Helsinki Challenger Ismaning Challenger M25 Hua Hin M25 Mumbai Danderyd Challenger Nonthaburi 1 Challenger Canberra Challenger Mercedes Cup - Stuttgart BCR Open Romania - Bucharest Kremlin Cup - Moscow St. Petersburg Open - St. Petersburg Heineken Open - Auckland PBZ Zagreb Indoors - Zagreb Nonthaburi 3 Challenger Open Sabadell Atlantico - Barcelona Mercedes Cup - Stuttgart BCR Open Romania - Bucharest Kremlin Cup - Moscow Grand Prix Hassan II - Casablanca Open Sabadell Atlantico - Barcelona Serbia Open - Belgrade Studena Croatia Open - Umag St. Petersburg Open - St. Petersburg Miami Open - Miami Kremlin Cup - Moscow Aircel Chennai Open - Chennai Apia International - Sydney SAP Open - San Jose Pune Challenger U.S. National Indoor Tennis Championships - Memphis Chennai Challenger Delray Beach International Tennis Championships - Delray Beach BRD Nastase Tiriac Trophy - Bucharest Portugal Open - Oeiras Power Horse Cup - Dusseldorf Nonthaburi 2 Challenger Topshelf Open - 's-Hertogenbosch Mercedes Cup - Stuttgart BB&T Atlanta Open - Atlanta Qatar ExxonMobil Open - Doha Manama Challenger Ottignies-Louvain-la-Neuve Challenger Bengaluru Challenger Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg PTT Thailand Open - Bangkok If Stockholm Open - Stockholm Kremlin Cup - Moscow Brisbane International - Brisbane BNP Paribas Open - Indian Wells Open 13 - Marseille M25 New Delhi Barcelona Open BancSabadell - Barcelona BRD Nastase Tiriac Trophy - Bucharest AEGON Championships - London Topshelf Open - 's-Hertogenbosch Claro Open Colombia - Bogota Citi Open - Washington Winston-Salem Open - Winston-Salem Shenzhen Open - Shenzhen China Open - Beijing Kremlin Cup - Moscow Aircel Chennai Open - Chennai Phoenix Challenger Ecuador Open - Quito PBZ Zagreb Indoors - Zagreb New Delhi Challenger Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Casablanca BRD Nastase Tiriac Trophy - Bucharest TEB BNP Paribas Istanbul Open - Istanbul Geneva Open - Geneva Geneva Challenger - Geneva Vegeta Croatia Open - Umag Bet-at-home Open - Hamburg Winston-Salem Open - Winston-Salem Kremlin Cup - Moscow St. Petersburg Open - St. Petersburg Aircel Chennai Open - Chennai Qatar ExxonMobil Open - Doha Apia International - Sydney Garanti Koza Sofia Open - Sofia ABN AMRO World Tennis Tournament - Rotterdam Memphis Open - Memphis Delray Beach Open - Delray Beach Abierto Mexicano Telcel - Acapulco Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona BRD Nastase Tiriac Trophy - Bucharest TEB BNP Paribas Istanbul Open - Istanbul Barletta Challenger BMW Open - Munich Geneva Open - Geneva Open de Nice Cote d'Azur - Nice IPP Open - Helsinki Aegon Nottingham Open - Nottingham SkiStar Swedish Open - Bastad Konzum Croatia Open - Umag Winston-Salem Open - Winston-Salem Moselle Open - Metz St. Petersburg Open - St. Petersburg Ostrava Challenger Tunis Challenger Bucharest Open - Bucharest Shenzhen 1 Challenger Shanghai Challenger China Open - Beijing Kremlin Cup - Moscow Wuxi Challenger Erste Bank Open - Vienna Aircel Chennai Open - Chennai Qatar ExxonMobil Open - Doha Garanti Koza Sofia Open - Sofia ABN AMRO World Tennis Tournament - Rotterdam Memphis Open - Memphis Delray Beach Open - Delray Beach Open 13 - Marseille Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Hungarian Open - Budapest Millennium Estoril Open - Estoril TEB BNP Paribas Istanbul Open - Istanbul Open Parc - Lyon Ricoh Open - 's-Hertogenbosch Konzum Croatia Open - Umag Bet-at-home Open - Hamburg Abierto Mexicano - Los Cabos Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Shenzhen Open - Shenzhen China Open - Beijing Kremlin Cup - Moscow Split Challenger Zagreb Challenger Erste Bank Open - Vienna Brisbane International - Brisbane Qatar ExxonMobil Open - Doha Sydney International - Sydney Open Sud de France - Montpellier Garanti Koza Sofia Open - Sofia ABN AMRO World Tennis Tournament - Rotterdam New York Open - New York Delray Beach Open - Delray Beach Open 13 Provence - Marseille Dubai Duty Free Tennis Championships - Dubai Gazprom Hungarian Open - Budapest TEB BNP Paribas Istanbul Open - Istanbul Ricoh Open - 's-Hertogenbosch Gerry Weber Open - Halle AEGON Championships - London Antalya Cup - Antalya Plava Laguna Croatia Open - Umag German Tennis Championships - Hamburg Citi Open - Washington Abierto Mexicano - Los Cabos St. Petersburg Open - St. Petersburg Chengdu Open - Chengdu Shenzhen Open - Shenzhen China Open - Beijing Rakuten Japan Open - Tokyo Kremlin Cup - Moscow Guangzhou Challenger Swiss Indoors Basel - Basel Erste Bank Open - Vienna Qatar ExxonMobil Open - Doha Tata Open Maharashtra - Pune Sydney International - Sydney Open Sud de France - Montpellier Geneva Challenger - Geneva ABN AMRO World Tennis Tournament - Rotterdam Open 13 Provence - Marseille Geneva Open - Geneva Turkish Airlines Open Antalya - Antalya SkiStar Swedish Open - Bastad Abierto Mexicano de Tenis Mifel - Los Cabos Taipei Challenger Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Zhuhai Open - Zhuhai China Open - Beijing Kremlin Cup - Moscow Erste Bank Open - Vienna Qatar ExxonMobil Open - Doha Open Sud de France - Montpellier Tata Open Maharashtra - Pune New York Open - New York Delray Beach Open - Delray Beach Abierto Mexicano Telcel - Acapulco Dubai Duty Free Tennis Championships - Dubai St. Petersburg Open - St. Petersburg President's Cup - Astana bett1HULKS Championships - Cologne Astana Open - Nur-Sultan Sofia Open - Sofia Open Sud de France - Montpellier IPP Open - Helsinki Internazionali BNL d'Italia - Rome Nottingham 2 Challenger M15 Tianjin Abierto Mexicano Telcel - Acapulco Dubai Duty Free Tennis Championships - Dubai Serbia Open - Belgrade Open Parc - Lyon Korat Challenger Hall of Fame Open - Newport Hamburg European Open - Hamburg Abierto Mexicano de Tenis Mifel - Los Cabos Plava Laguna Croatia Open - Umag Truist Atlanta Open - Atlanta Citi Open - Washington St. Petersburg Open - St. Petersburg Sofia Open - Sofia Kremlin Cup - Moscow Anytech365 Andalucia Open - Marbella Zagreb Challenger Ilkley Challenger Astana Open - Nur-Sultan Karlsruhe Challenger Open Sud de France - Montpellier Tata Open Maharashtra - Pune ABN AMRO World Tennis Tournament - Rotterdam Open 13 Provence - Marseille Grand Prix Hassan II - Marrakech M25 Tianjin Serbia Open - Belgrade Penza Challenger Saransk Challenger BMW Open - Munich Stockholm Open - Stockholm Firenze Open - Florence Qatar ExxonMobil Open - Doha Millennium Estoril Open - Estoril Banja Luka Open - Banja Luka Santo Domingo Challenger Geneva Challenger Sofia Open - Sofia Astana Challenger Helsinki Challenger Khanty-Mansiysk Challenger Dubai Duty Free Tennis Championships - Dubai Astana Challenger Jinan Challenger Bonn Challenger Kazan Challenger Sarajevo Challenger Fergana Challenger Milan Challenger Orbetello Challenger Saransk Challenger Zhangjiagang Challenger Kitzbuhel Challenger Istanbul Challenger Todi Challenger Guangzhou Challenger Astana Challenger Manacor Challenger Japan Open Tennis Championships - Tokyo Hangzhou Open - Hangzhou Kazan Challenger Meknes Challenger Casablanca Challenger Marrakech Challenger Brest Challenger Monza Challenger Rome Challenger Ostrava Challenger Kosice Challenger Milan Challenger Marburg Challenger Braunschweig Challenger Oberstaufen Challenger Orbetello Challenger Shanghai Rolex Masters - Shanghai Segovia Challenger Binghamton Challenger Seville Challenger Szczecin Challenger Madrid Challenger Almaty Open - Almaty Geneva Challenger Bratislava 2 Challenger Belgrade Open - Belgrade Lyon Challenger Banja Luka Challenger Mutua Madrid Open - Madrid Sibiu Challenger Movistar Chile Open - Santiago Bordeaux Challenger Heilbronn Challenger Kazan Challenger Quimper Challenger Meknes Challenger Casablanca Challenger Rabat Challenger Sarajevo Challenger Cap Cana Challenger Blumenau Challenger Santos Challenger Sao Paulo Challenger BNP Paribas Open - Indian Wells Milan Challenger Barcelona Open Banc Sabadell - Barcelona Penza Challenger Astana Challenger Pozoblanco Challenger Segovia Challenger St. Remy Challenger Rio Open - Rio de Janeiro Trnava Challenger Orleans Challenger Lermontov Challenger Rosario Challenger Loughborough Challenger Montemar Challenger Maia Challenger Internazionali BNL d'Italia - Rome M25 Champaign Canberra Challenger Adelaide International - Adelaide Argentina Open - Buenos Aires Zadar Challenger Plava Laguna Croatia Open - Umag National Bank Open - Toronto Mersin Challenger Tiriac Open - Bucharest Hamburg Open - Hamburg Tashkent Challenger BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati BNP Paribas Open - Indian Wells Miami Open - Miami French Open - Paris Boss Open - Stuttgart Mallorca Championships - Mallorca BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Coupe Rogers - Montreal Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris Internazionali BNL d'Italia - Rome Western & Southern Open - New York BNP Paribas Open - Indian Wells Miami Open - Miami Nordea Open - Bastad Braunschweig Challenger Cincinnati Open - Cincinnati U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne Mohammedia Challenger French Open - Paris Wimbledon - London Tashkent Challenger U.S. Open - New York U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Hua Hin Challenger Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Hangzhou Open - Hangzhou U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open Qualifying - Doha Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne Wimbledon - London Dubai Duty Free Tennis Championships - Dubai Russia F3 Nigeria F3 Nigeria F4 Russia F2 Ukraine F3 Austria F4 Austria F5 Austria F6 Russia F3 Russia F5 Russia F6 Ivory Coast F1 Ivory Coast F2 Russia F1 Russia F2 Bosnia & Herzegovina F2 Russia F3 Croatia F8 Bosnia/Herzegovina F6 Bosnia/Herzegovina F1 Bosnia & Herzegovina F2 Kazakhstan F1 Kazakhstan F2 France F6 France F7 Italy F6 Croatia F7 Croatia F8 Israel F3 Croatia F1 Croatia F2 Spain F7 Italy F6 Italy F7 Bosnia & Herzegovina F2 Bosnia & Herzegovina F3 Bosnia & Herzegovina F5 Serbia F1 Serbia F2 Serbia F3 Serbia F7 Croatia F7 Croatia F8 Croatia F9 Croatia F10 Croatia F12 Croatia F13 Croatia F14 Turkey F32 Turkey F33 Turkey F3 Turkey F4 Croatia F1 Italy F1 Italy F2 Bosnia & Herzegovina F1 Bosnia & Herzegovina F2 Bosnia & Herzegovina F3 Bosnia & Herzegovina F5 Italy F20 Croatia F11 Croatia F12 Turkey F2 Croatia F1 Croatia F2 Italy F1 Italy F5 Bulgaria F1 Bosnia & Herzegovina F4 Serbia F3 Croatia F12 M25 New Delhi M25 Lucknow M25 Jakarta M25 Jakarta IPP Open - Helsinki BH Indoor Sarajevo - Sarajevo Sarajevo Challenger Como Challenger Ljubljana Challenger Belgrade Challenger Zagreb Challenger Seville Challenger Bordeaux Challenger Marrakech Challenger Rome Challenger Nottingham Challenger Nottingham-2 Challenger Kosice Challenger Braunschweig Challenger Arad Challenger San Marino Challenger Cordenons Challenger Como Challenger Brasov Challenger Banja Luka Challenger Mons Challenger Geneva Challenger Helsinki Challenger Tyumen Challenger Cherbourg Challenger Sarajevo Challenger Ostrava Challenger Rome Challenger Prostejov Challenger Kosice Challenger Portoroz Challenger Poznan Challenger Vancouver Challenger Liberec Challenger Aptos Challenger Kazan Challenger Alphen Challenger Banja Luka Challenger Trnava Challenger Tashkent Challenger Kazan Challenger Geneva Challenger Casablanca Challenger Bratislava Challenger Helsinki Challenger Tyumen Challenger Heilbronn Challenger Chennai Challenger Bergamo Challenger Kolkata Challenger New Delhi Challenger Irving Challenger St. Brieuc Challenger Tunis Challenger Ostrava Challenger Samarkand Challenger Arad Challenger Kosice Challenger Braunschweig Challenger Winnetka Challenger Portoroz Challenger San Benedetto Challenger Poznan Challenger Lexington Challenger Tampere Challenger Aptos Challenger Genova Challenger St. Remy Challenger Izmir Challenger Meknes Challenger Kenitra Challenger Geneva Challenger Eckental Challenger Bratislava Challenger Ortisei Challenger Helsinki Challenger Andria Challenger Bucaramanga Challenger Santo Domingo Challenger Morelos Challenger Irving Challenger Kazan Challenger Raanana Challenger San Luis Potosi Challenger Batman Challenger Mersin Challenger Karshi Challenger Heilbronn Challenger Furth Challenger Moscow Challenger Fergana Challenger Marburg Challenger San Benedetto Challenger Astana Challenger Segovia Challenger Portoroz Challenger Alphen Challenger Kenitra Challenger Agri Challenger Casablanca Challenger Lima Challenger Pune Challenger Guayaquil Challenger Ortisei Challenger Buenos Aires Challenger Canberra Challenger Wroclaw Challenger Irving Challenger Guadalajara Challenger Raanana Challenger Prostejov Challenger Bastad Challenger Recanati Challenger Astana Challenger Alphen Challenger Mohammedia Challenger Tashkent Challenger Casablanca Challenger Pune Challenger Ortisei Challenger Brescia Challenger Rennes Challenger Quimper Challenger Budapest Challenger Zhuhai Challenger Shenzhen Challenger Heilbronn Challenger Prostejov Challenger Lisbon Challenger Ilkley Challenger Blois Challenger Astana Challenger Chengdu Challenger Jinan Challenger Santo Domingo Challenger Istanbul Challenger Kaohsiung Challenger Taipei City Challenger Nanchang Challenger Anning Challenger Eckental Challenger Bratislava Challenger Bergamo Challenger Indian Wells Challenger Phoenix Challenger St. Brieuc Challenger Taipei City Challenger Seoul Challenger Busan Challenger Gwangju Challenger Surbiton Challenger Nottingham Challenger Ilkley Challenger Recanati Challenger Perugia Challenger Nur-Sultan Challenger Aptos Challenger Vancouver Challenger New Haven Challenger Orleans Challenger Nur-Sultan Challenger Brest Challenger Eckental Challenger Bratislava Challenger Canberra Challenger Bendigo Challenger Bengalaru Challenger Indian Wells Challenger Prostejov Challenger Split Challenger Barcelona Challenger Lisbon Challenger Istanbul Challenger Eckental Challenger Biella 2 Challenger Nur-Sultan 1 Challenger Nur-Sultan 2 Challenger Lugano Challenger Marbella Challenger Belgrade Challenger Rome 2 Challenger Zagreb Challenger Oeiras 3 Challenger Nottingham 1 Challenger Nottingham 2 Challenger Salzburg-Anif Challenger Trieste Challenger Meerbusch Challenger Tulln Challenger Istanbul 2 Challenger Sibiu Challenger Barcelona Challenger Bergamo Challenger Bratislava Challenger Helsinki Challenger Bendigo Challenger Quimper Challenger Bengalaru 1 Challenger Bengalaru 2 Challenger Forli 5 Challenger Lille Challenger Lugano Challenger Mexico City Challenger San Luis Potosi Challenger Tallahassee Challenger Mauthausen Challenger Troisdorf Challenger Prostejov Challenger Bratislava Challenger Malaga Challenger Porto Challenger Nur-Sultan Challenger Zug Challenger Segovia Challenger Cordenons Challenger Meerbusch Challenger Santo Domingo Challenger Banja Luka Challenger Nonthaburi 1 Challenger Como Challenger Nonthaburi 2 Challenger Nonthaburi 3 Challenger Istanbul Challenger Sibiu Challenger Orleans Challenger Ismaning Challenger Hamburg Challenger Brest Challenger Yokohama Challenger Matsuyama Challenger Kobe Challenger Noumea Challenger Nonthaburi 1 Challenger Nonthaburi 2 Challenger Nonthaburi 3 Challenger Vilnius Challenger Cherbourg Challenger Rovereto Challenger Pau Challenger Antalya Challenger Szekesfehervar Challenger Zadar Challenger Seoul Challenger Ostrava Challenger Gwangju Challenger Busan Challenger Prague 2 Challenger Tunis Challenger Skopje Challenger Vicenza Challenger Heilbronn Challenger Bratislava 1 Challenger Poznan Challenger Blois Challenger Davis Cup, Europe/Africa Group II, 2R, EST-BIH 2-3 Davis Cup, Europe/Africa Group II, 3R, POR-BIH 3-2 Davis Cup, Group II, 3R, DEN-BIH 3-2 Davis Cup, Group II, 2R, BLR-BIH 4-1 Davis Cup, Group II, 1R, BIH-LUX 4-1 Davis Cup, Group I, 2R, GBR-RUS 3-2 Davis Cup, Group II, 2R, BIH-MDA 1-3 Davis Cup, Group II, 1R, BIH-GRE 3-1 Davis Cup, Group II, 2R, FIN-BIH 2-3 Davis Cup, Group I, PO, RUS-POR 4-1 Davis Cup, Group II, 3R, BIH-LTU 2-3 Davis Cup, Group I, 1R, RUS-DEN 4-1 Davis Cup, Group II, 1R, ZIM-BIH 1-4 Davis Cup, Group I, 2R, RUS-ESP 3-2 Davis Cup, Group II, 2R, BIH-TUR 3-1 Davis Cup, World Group, PO, RUS-KAZ 3-1 Davis Cup, Group II, 3R, LTU-BIH 0-5 Davis Cup, Group I, 1R, BIH-POL 5-0 Davis Cup, Group I, 2R, BIH-NED 1-3 Davis Cup, Group I, 2R, SVK-BIH 2-3 Davis Cup, Group I, 2R, RUS-AUT 1-3 Davis Cup, World Group, QR, AUS-BIH 4-0 Davis Cup, World Group I, PO, BIH-RSA 3-1 Davis Cup, Group I, 1R, PER-BIH 3-2 Davis Cup, Group I, PO, TUN-BIH 1-3 Davis Cup, Group I, 1R, BIH-MEX 3-1 Davis Cup, World Group, PO, SWE-BIH 3-1 Davis Cup, Group I, PO, BUL-BIH 1-3 Davis Cup, World Group I, 1R, TPE-BIH 3-2 Davis Cup, Group I, PO, UZB-BIH 1-3 Davis Cup, Group I, 1R, ECU-BIH 3-2 U.S. Open (juniors) French Open (juniors) Wimbledon (juniors) French Open (juniors) French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) All Lower level tournaments Olympics - Rio de Janeiro